﻿using System.Configuration;
using CustomerContactSystem.Core.Infrastructure.Configuration;

namespace CustomerContactSystem.Core.AppServices.Configuration {
    public class WebConfigApplicationSettings : IApplicationSettings {
        public string OrganisationName {
            get { return ConfigurationManager.AppSettings["OrganisationName"]; }
        }

        public string OrganisationNameShort {
            get { return ConfigurationManager.AppSettings["OrganisationNameShort"]; }
        }

        public string OrganisationPublicEmail {
            get { return ConfigurationManager.AppSettings["OrganisationPublicEmail"]; }
        }

        public string SmptServerAddress {
            get { return ConfigurationManager.AppSettings["SmptServerAddress"]; }
        }

        public string AdminUsername {
            get { return ConfigurationManager.AppSettings["AdminUsername"]; }
        }

        public string AdminEmailAddress {
            get { return ConfigurationManager.AppSettings["AdminEmailAddress"]; }
        }

        public string FixYourStreetUrl {
            get { return ConfigurationManager.AppSettings["FixYourStreetUrl"]; }
        }

        public string FixYourStreetApiFolder {
            get { return ConfigurationManager.AppSettings["FixYourStreetApiFolder"]; }
        }

        public string FixYourStreetApiVersion {
            get { return ConfigurationManager.AppSettings["FixYourStreetApiVersion"]; }
        }

        public int DefaultGroupId {
            get { return int.Parse(ConfigurationManager.AppSettings["DefaultGroupId"]); }
        }

        public int DefaultRoleId {
            get { return int.Parse(ConfigurationManager.AppSettings["DefaultRoleId"]); }
        }

        public string UserSessionKey {
            get { return ConfigurationManager.AppSettings["UserSessionKey"]; }
        }

        public string DocumentsFolder {
            get { return ConfigurationManager.AppSettings["DocumentsFolder"]; }
        }

        public string SiteRoot {
            get { return ConfigurationManager.AppSettings["SiteRoot"]; }
        }

        public string AllowedFileExtensions {
            get { return ConfigurationManager.AppSettings["AllowedFileExtensions"]; }
        }

        public string CategoryMatchUps {
            get { return ConfigurationManager.AppSettings["CategoryMatchUps"]; }
        }

        public string CategoryRefereeMatchUps {
            get { return ConfigurationManager.AppSettings["CategoryRefereeMatchUps"]; }
        }

        public int DefaultFysClassification {
            get { return int.Parse(ConfigurationManager.AppSettings["DefaultFysClassification"]); }
        }

        public int DefaultFysSubmitter {
            get { return int.Parse(ConfigurationManager.AppSettings["DefaultFysSubmitter"]); }
        }

        public int DefaultFysReferee {
            get { return int.Parse(ConfigurationManager.AppSettings["DefaultFysReferee"]); }
        }

        public int FysSourceId {
            get { return int.Parse(ConfigurationManager.AppSettings["FysSourceId"]); }
        }
    }
}